package puzzlegame.TEST.Useful;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

public class MyJFrame extends JFrame implements ActionListener {
    //创建按钮对象,因为有多个方法用到jtb，所以放到成员位置。
    JButton jtb1=new JButton("点我啊");
    JButton jtb2=new JButton("再点我啊");
    public MyJFrame() {
        //设置界面的宽高
        this.setSize(603,680);
        //设置界面标题
        this.setTitle("事件演示");
        //设置界面置顶
        this.setAlwaysOnTop(true);
        //设置界面居中
        this.setLocationRelativeTo(null);
        //设置关闭模式
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        //取消默认居中的位置，这样才可以按X,Y轴的形式执行代码
        this.setLayout(null);
        //设置位置和宽高
        jtb1.setBounds(0,0,100,50);
        //给按钮添加事件，this，即代表着jtb1中的"点我啊"
        jtb1.addActionListener(this);
        //addActionListener:给按钮添加动作监听(动作监听鼠标左键点击，空格)
        jtb1.addActionListener(new MyActionListener());
        //设置界面宽高
        jtb2.setBounds(100,0,100,50);
        //给按钮添加事件，this，即代表着jtb2中的"再点我啊"
        jtb2.addActionListener(this);
        //将按钮添加到界面中
        this.getContentPane().add(jtb1);
        this.getContentPane().add(jtb2);
        /*匿名内部类
        jtb1.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("不要点我");
            }
        });
        */

        //可视化
        this.setVisible(true);
    }

    public void actionPerformed(ActionEvent e) {
        Object souce=e.getSource();
        if (souce==jtb1){
            jtb1.setSize(200,200);
        }else if (souce==jtb2){
            Random r=new Random();
            jtb2.setLocation(r.nextInt(500),r.nextInt(500));
        }
        return;
    }
}
